草庐IT

Ruby File 类和方法

全部标签

c# - 在 ASP.Net Web 应用程序数据层中实现静态方法是否安全?

我正在开发一个Web应用程序,它是一个B2B门户应用程序。我的应用程序遵循2层架构。下面是一段代码,将公司注册到我的网站//////RegisterCompanywiththebusinessbazaar/////////publicstaticboolRegisterCompany(Registrationregistration){boolresult;using(varhelper=newDbHelper()){_commandText="sp_RegisterCompany";varsuccess=newSqlParameter("@Success",SqlDbType.Bit

c# - 为什么在这个简单的测试中,方法的速度与触发顺序有关?

我一直在做其他实验,直到这种奇怪的行为引起了我的注意。代码在x64版本中编译。如果键入1,List方法的第3次运行比前2次多花费40%的时间。输出是Listcosts9312Listcosts9289Arraycosts12730Listcosts11950如果键入2,Array方法的第3次运行比前2次多花费30%的时间。输出是Arraycosts8082Arraycosts8086Listcosts11937Arraycosts12698可以看到模式,完整的代码附在下面(编译运行即可):{提供的代码对于运行测试来说是最少的。用于获得可靠结果的实际代码更复杂,我包装了该方法并在适当预热

c# - 我可以将继承与扩展方法一起使用吗?

我有以下内容:publicstaticclassCityStatusExt{publicstaticstringD2(thisCityStatuskey){return((int)key).ToString("D2");}publicstaticclassCityTypeExt{publicstaticstringD2(thisCityTypekey){return((int)key).ToString("D2");}加上其他具有类似扩展名的类,这些类返回格式化为“D2”的key有没有一种方法可以从基类继承并让基类提供功能难道我不必重复相同的扩展方法代码吗?更新。很抱歉我没有提到这一点

c# - 是否可以在 PCL 中使用 .AsParallel 扩展方法?

我在可移植类库类中遇到问题。尽管引用了System.Linq,但我似乎无法使用.AsParallel()扩展方法。这是代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacePortableClassLibrary1{publicclassClass1{publicClass1(){varlist=newList();}}}list没有AsParallel()方法,它只有AsQueryable和AsEnume

c# - 与其他结构相比,为什么 DateTime 的 GetHashCode() 方法编译方式不同?

考虑以下C#中的方法:publicstaticintHashCodeFunction(Decimalvalue){returnvalue.GetHashCode();}publicstaticintHashCodeFunction(Int64value){returnvalue.GetHashCode();}publicstaticintHashCodeFunction(DateTimevalue){returnvalue.GetHashCode();}让我们看看编译器生成的指令:对于Decimal方法:ldarga.sParameter:System.Decimalvaluecall

c# - 为什么用于 Unicode 属性测试的 C# System.Char 方法有两个重载?

在methodsofSystem.Char,我们看到两种检查字符是否为符号的方法:publicstaticboolIsSymbol(strings,intindex)publicstaticboolIsSymbol(charc)同样适用于其他属性测试:IsLower、IsLetter等为什么会出现这种重复?有什么理由比Char.IsSymbol(s[idx])更喜欢Char.IsSymbol(s,idx)吗? 最佳答案 从表面上看,这两个重载在功能上似乎是相同的,但是深入到对InternalGetUnicodeCategory的调用

c# - 你如何扩展(或者你能否扩展)静态数学方法?

使用C#3.0,我知道您可以使用“this”命名法扩展方法。我正在尝试扩展Math.Cos(doubleradians)以包含我的新类(class)。我知道我可以在我现有的类中创建一个“Cos”方法,但我只是想看看如何/是否可以为了练习而这样做。在尝试了一些新事物之后,我将返回SO以征求意见。我卡住了。这是我目前所拥有的...publicclassEngMath{///---------------------------------------------------------------------------///ExtendtheMathLibrarytoincludeEng

c# - 单元测试依赖方法

我想对我创建的类的方法进行单元测试,但此方法需要先调用另一个方法。示例://ThiswouldworkMyClassmyClass1=newMyClass(mockDevice);myClass1.Run(myDatastructure);myClass1.Stop();//ThiswouldthrowanInvalidOperationExceptionMyClassmyClass2=newMyClass(mockDevice);myClass2.Stop();Run正在硬件设备上开始操作,而Stop当然会尝试停止该操作(发送重置命令并启动超时计时器).无论如何,我想测试调用Stop

c# - 异步方法和异步委托(delegate)

C#3.0简述说异步方法和异步委托(delegate)看起来很相似,但行为却大不相同.这是书中关于两者的说法。异步方法很少或从不阻塞任何线程。Begin方法可能不会立即返回给调用者。商定的协议(protocol),不支持C#语言。异步委托(delegate)可以阻止任何时间长度BeginInvoke立即返回给调用者。内置编译器支持。书上还说,异步方法的目的是让很多任务在很少的线程上运行;异步委托(delegate)的目的是与调用者并行执行任务。当我通过反射器查看System.IO.Stream类中的BeginRead()方法时,它使用委托(delegate)并调用BeginInvoke

c# - 处理 Quartz.NET 的正确方法?

我在应用程序中使用Quartz.NET。处理Quartz.NET的正确方法是什么。现在我正在做if(_quartzScheduler!=null){_quartzScheduler=null;}这就足够了吗?还是我应该在jobType类中实现dispose或其他东西?赛斯 最佳答案 scheduler.Shutdown(waitForJobsToComplete:true);当然,如果您还没有使用C#4.0,命名参数将不起作用:scheduler.Shutdown(true); 关于c#